package cn.topevery.garden.entity.dto;

import cn.topevery.garden.entity.po.ProjectManagementFile;
import hw.topevery.framework.dto.PointDto;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.locationtech.jts.geom.Geometry;

import java.io.Serializable;
import java.time.LocalDate;
import java.util.List;

/**
 * 项目管理信息表 DTO
 *
 * @author code-generate
 * @date 2022-02-15
 */
@Data
@ApiModel(value = "ProjectManagementDTO", description = "项目管理信息表 DTO")
public class ProjectManagementDTO implements Serializable{
    /**
     * 自增id
     */
    private Integer id;

        /** 项目编码 */
    @ApiModelProperty(value = "项目编码")
    private String projectCode;

    /** 项目名称 */
    @ApiModelProperty(value = "项目名称")
    private String name;

    /** 甲方单位 */
    @ApiModelProperty(value = "甲方单位")
    private String partyA;

    /** 甲方负责人 */
    @ApiModelProperty(value = "甲方负责人")
    private String principalA;

    /** 甲方联系方式 */
    @ApiModelProperty(value = "甲方联系方式")
    private String telephoneA;

    /** 乙方单位 */
    @ApiModelProperty(value = "乙方单位")
    private String partyB;

    /** 乙方负责人 */
    @ApiModelProperty(value = "乙方负责人")
    private String principalB;

    /** 乙方联系方式 */
    @ApiModelProperty(value = "乙方联系方式")
    private String telephoneB;

    /** 第三方单位 */
    @ApiModelProperty(value = "第三方单位")
    private String partyC;

    /** 第三方负责人 */
    @ApiModelProperty(value = "第三方负责人")
    private String principalC;

    /** 第三方联系方式 */
    @ApiModelProperty(value = "第三方联系方式")
    private String telephoneC;

    /** 项目状态 0 在建 1 维护 3 结束  */
    @ApiModelProperty(value = "项目状态 0 在建 1 维护 3 结束 ")
    private Integer projectStatus;

    /** 项目类型 1 新建项目 2 维护项目  */
    @ApiModelProperty(value = "项目类型 1 新建项目 2 维护项目 ")
    private Integer projectType;

    /** 建设开始时间 */
    @ApiModelProperty(value = "建设开始时间")
    private LocalDate startDate;

    /** 建设开始时间 */
    @ApiModelProperty(value = "建设开始时间")
    private LocalDate endDate;

    /** 项目内容描述 */
    @ApiModelProperty(value = "项目内容描述")
    private String desc;

    /** 附件 */
    @ApiModelProperty(value = "附件url")
    private String fileUrl;

    @ApiModelProperty(value = "附件")
    private List<ProjectManagementFile> fileList;

    /** 范围 */
    @ApiModelProperty(value = "范围")
    private Geometry mapRanges;

    /** 计算空间数据 */
    @ApiModelProperty(value = "计算空间数据")
    private String geoWkt;

    @ApiModelProperty(value = "地址")
    private String address;

    @ApiModelProperty(value = "经度")
    private Float lng;

    @ApiModelProperty(value = "纬度")
    private Float lat;

    public List<List<PointDto>> mapRangesPoints;

}
